/* 
 * File:   NVenta.cpp
 * Author: Arturo
 * 
 * Created on November 13, 2010, 6:20 PM
 */

#include "NVenta.h"
#include "Util.h"
#include "Nodo.h"

NVenta::NVenta(int _id, int _idproducto, double _precio, string _fecha, int _idcliente) : id(_id), idproducto(_idproducto), precio(_precio), fecha(_fecha), idcliente(_idcliente) {
}

NVenta::NVenta(Nodo* &p, Nodo* &c) {
    NProducto* _nproducto = NULL;
    NCliente* _ncliente = NULL;
    _nproducto = dynamic_cast<NProducto*>(p->Dato);
    _ncliente = dynamic_cast<NCliente*>(c->Dato);

    if (!_nproducto && !_ncliente) return;

    id = NULL;
    idproducto = _nproducto->GetId();
    precio = _nproducto->GetPrecio();
    fecha = Util::Now();
    idcliente = _ncliente->GetId();
}

NVenta::~NVenta() {
}

int NVenta::GetId() {
    return this->id;
}

void NVenta::SetId(int _id) {
    this->id = _id;
}

int NVenta::GetIdProducto() {
    return this->idproducto;
}

double NVenta::GetPrecio() {
    return this->precio;
}
string NVenta::GetFecha() {
    return this->fecha;
}

int NVenta::GetIdCliente() {
    return this->idcliente;
}

string NVenta::ToString() {
    return Util::NumberToString(this->idproducto) + " - " + Util::NumberToString(this->precio) + " - " + this->fecha + " - " + Util::NumberToString(this->idcliente);
}

string NVenta::ToDB() {
    return Util::NumberToString(this->id) + "_" + Util::NumberToString(this->idproducto) + "_" + Util::NumberToString(this->precio) + "_" + this->fecha + "_" + Util::NumberToString(this->idcliente) + "_";
}
